package com.jeeplus.test.jlnu.mailingInfo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jeeplus.test.jlnu.admissionInfo.domain.vo.AdmissionInfoReqVo;
import com.jeeplus.test.jlnu.archivalInfo.domain.entity.ArchParmerter;
import com.jeeplus.test.jlnu.mailingInfo.domain.entity.MailingInfo;
import com.jeeplus.test.jlnu.mailingInfo.domain.vo.MailingInfoVo;
import com.jeeplus.test.website.websiteFile.domain.vo.WebsiteFileReqVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.http.ResponseEntity;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface MailingInfoService extends IService<MailingInfo> {
    Page<MailingInfo> getMailingInfoPage(ArchParmerter mailingInfoReqVo, Page<MailingInfo> page);

    int updateByStuid(MailingInfo mailingInfo);

    int saveMail(MailingInfo mailingInfo);

    int checkStudentId(String studentId);

    void insertDataMailingInfo(List<MailingInfoVo> dataList);

    boolean attachment(String id, MultipartFile file);
//    boolean saveOrUpdateMailing(MailingInfo mailingInfo, MultipartFile file);
    Map<String, Object> getFileByMailingId(String id);

    MailingInfoVo selectMailingById(@Param("id") Long id);

    WebsiteFileReqVo getFileInfoByMailingId(String id);

    boolean batchUpdate(MailingInfoVo mailingInfoVo);

    boolean saveOrUpdateMailing(MailingInfo mailingInfo);

    Page<MailingInfo> selectAllMailingVOs(MailingInfoVo mailingInfoVo,Page<MailingInfo> page);

    ResponseEntity<byte[]> DataDowload(List<String> ids);

    int batchUpdateMailing(MailingInfoVo mailingInfoVo);


}
